Louis Vogel
WildBlood Studio

I spent roughly six months working as a programmer at WildBlood Studio, primarily on contract projects for other studios. This gave me the opportunity to work across multiple engines, platforms, codebases, and production environments.

During this time, I worked with Unreal Engine 5, C++, Blueprints, Unity and C#, on projects targeting PC, mobile and VR. I also worked closely with game designers, creative directors and other programmers, often joining existing projects and adapting to their established frameworks.

Several of the projects I worked on are still under NDA. The descriptions below therefore focus on my responsibilities, technical challenges and contributions without revealing confidential information.



Unannounced 3D Adventure Platformer

This was the main project being developed internally by WildBlood Studio: a 3D adventure platformer made with Unreal Engine 5.

My responsibilities included implementing gameplay features, debugging existing systems and iterating on gameplay ideas in collaboration with the creative director and game designer. I worked with both Blueprints and C++, depending on the requirements of each feature.

One aspect I particularly enjoyed was the collaborative nature of the development process. Team members were encouraged to propose ideas, prototype them and evaluate whether they fit the overall vision of the game.

Unfortunately, I cannot provide additional details or visual material for this project because it is still under NDA.



Unannounced Board Game Port

I also worked on the PC and mobile port of an unannounced board game using Unity and C#. The game is loosely similar to Scrabble, with an additional mechanic allowing players to modify letters that have already been placed on the board in order to create new words.

One of the main technical challenges was validating words against a French dictionary containing roughly 300,000 words.


The problem

A straightforward approach would have been to iterate through the entire list every time a player entered a word. However, repeatedly searching through hundreds of thousands of entries was unnecessarily expensive, especially on mobile hardware.

The solution

I implemented a partitioned dictionary structure to reduce the number of words that needed to be considered for each lookup.

Each partition was indexed using the first three letters of a word. I experimented with two- and four-letter keys, but three-letter partitions provided the best performance in my tests.

Words containing three letters or fewer were stored separately in a dedicated partition.


Example of a baked word dictionary sub-partition

I then created an editor tool that parsed the original 300,000-word text file and automatically generated and populated the required WordDictionarySubPartition ScriptableObjects.

Once generated, these partitions were stored inside a higher-level WordDictionary ScriptableObject, which contained the small-word partition as well as references to the other partitions.

This allowed the raw dictionary to be processed once during development rather than rebuilding the entire structure at runtime.


At runtime, the validation process was therefore kept simple: the game identified the appropriate partition from the first letters of the input word, then searched only within that subset rather than scanning the entire dictionary.


Word validation algorithm diagram

This project was a good opportunity to work on data organization, editor tooling and runtime performance while working with a relatively large dataset.



Unannounced Party Game

Another contract project I worked on was an unannounced party game based on a French license.

I was responsible for prototyping six different minigames in three weeks, working closely with game designers.

The short deadline was one of the main challenges of the project. Another was that the prototypes had to fit into an already established development framework rather than being built from scratch.

I therefore first familiarized myself with the existing framework and its conventions, then used it to implement and iterate on the different gameplay prototypes. When necessary, I worked directly with the main development team to understand how the existing systems were intended to be used.

My previous experience developing Party Knight, another party game I worked on during my third year at 3Axes Institut, was particularly useful here. It gave me experience with the common gameplay patterns and rapid iteration required for this type of project.



Worst Food Truck

I also worked on Worst Food Truck, a VR game about making awful pizzas.

My work on the project included implementing new VR interactions and debugging existing gameplay systems. One example was adding an alternative way for players to interact with customers: instead of pressing a button, players could physically pull a rope to ring a bell. However, a significant portion of my time on this project was dedicated to investigating and fixing existing issues, which gave me experience working within an already-developed VR codebase and understanding systems that I had not originally implemented.




Unannounced VR Building Game Update

This was one of the projects I spent the most time working on at WildBlood Studio. Together with another programmer, I was tasked with updating an existing VR building game.

The gameplay can be broadly compared to building and decorating a house in a Sims-like game, but with the interactions taking place directly in VR.

The original game was designed around VR controllers, and one of our main responsibilities was to add hand tracking support.


Working with an existing architecture

Before implementing the new interaction system, we first analyzed the existing architecture and interaction systems. The project had already accumulated a significant amount of functionality, so understanding how the existing controller-based interactions were structured was an important part of the work.

We then adapted the relevant systems to support hand tracking while preserving the existing gameplay behavior. Our general strategy was to reinject our collected inputs as early in the chain of commands as possible, in order to preserve most of the already in-place systems.


UI and UX

We also worked on other parts of the game, including a rework of the user interface following recommendations from a UX specialist.

This project gave me additional experience working on an established codebase, extending existing gameplay systems and collaborating with another programmer while integrating feedback from a UX specialist.